package com.hzncc.flowable_diboot.delivery.service;

import com.diboot.core.vo.Pagination;
import com.hzncc.flowable_diboot.delivery.dto.DeliveryFormDTO;
import com.hzncc.flowable_diboot.delivery.dto.DeliveryRegisterDTO;
import com.hzncc.flowable_diboot.delivery.entity.DeliveryRegister;
import com.diboot.core.service.BaseService;
import com.hzncc.flowable_diboot.delivery.vo.*;
import com.hzncc.flowable_diboot.delivery.vo.DeliveryRegisterDetailVO;

import java.util.List;
import java.util.Map;

/**
* 发货登记 相关Service接口定义
* @author MyName
* @version 1.0
* @date 2024-09-29
* Copyright © MyCorp
*/
public interface DeliveryRegisterService extends BaseService<DeliveryRegister> {


    List<DeliveryFormVO> getDeliveryForms(DeliveryFormDTO deliveryFormDTO);

    List<DeliveryFormVO> getDeliveryForms(DeliveryFormDTO deliveryFormDTO,Pagination pagination);

    Boolean syncDeliveryRegister(List<SyncDeliveryRegisterVO> syncDeliveryRegisterVOS);

    Boolean batchProjectSupplement(DeliveryRegisterVO deliveryRegisterVO);

    Boolean batchSysSupplement(DeliveryRegisterVO deliveryRegisterVO);

    DeliveryRegisterVO getDeliveryInfoByDeliveryCode(String deliveryCode);

    Map<String,String> getDeliveryCodeList(String registerType);

    List<DeliveryRegisterVO> getPage(DeliveryRegisterDTO deliveryRegisterDTO, Pagination pagination);

    DeliveryRegisterVO getDetail(String id);

    Boolean saveDeliveryRegister(DeliveryRegisterVO deliveryRegisterVO);

    Boolean updateDeliveryRegister(DeliveryRegisterVO deliveryRegisterVO);

    Boolean deleteDeliveryRegister(String id);

    Boolean deleteDeliveryRegisterBatch(List<String> ids);

}